﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Microsoft.VisualStudio.TestTools.UnitTesting;
using EzDesk.Project.Model;
using EzDesk.EzAppApi.Utility;
using EzDesk.EzAppApi.Utility.EzDeskAppApi;

namespace EzDesk.Project.Service.Tests
{
    [TestClass]
    public class ProjectIntergratedTest : ProjectTestBase
    {
        //[TestMethod]
        //public void Test1()
        //{
        //    var projectService = GetProjectService();
        //    var projectTaskService = GetProjectTaskService();
            
        //    //贺旭华 登录，创建项目 西盟不锈钢(MIC-8)
        //    BasicInfo newProject = new BasicInfo()
        //    {
        //        Id = Guid.NewGuid(),
        //        CreateOn = DateTime.Parse("2010.3.29"),
        //        IsCloesd = false,
        //        ProjectName = "西盟不锈钢",
        //        ProjectNo = "MIC-8",
        //        ProjectType = ProjectTypeEnum.规划,
        //        Remark = "一些备注"
        //    };
        //    projectService.CreateProject(newProject, Mock_EzApiClient.GetMockUserId("贺旭华"));
        //    // Assert 新的项目

        //    // 创建项目团队
        //    ProjectTeam newTeam = new ProjectTeam()
        //    {
        //        Id = Guid.NewGuid(),
        //        ProjectId = newProject.Id,
        //        Manager = Mock_EzApiClient.GetMockUser("贺旭华"),
        //        Members = new List<SimpleUser>()
        //        {
        //            Mock_EzApiClient.GetMockUser("贺旭华"),
        //            Mock_EzApiClient.GetMockUser("雷卓扬"),
        //            Mock_EzApiClient.GetMockUser("汪道平"),
        //            Mock_EzApiClient.GetMockUser("李燕珍"),
        //        }
        //    };

        //    projectService.CreateProjectTeam(newProject, newTeam);
        //    // Assert新的团队

        //    // 贺旭华 登录，查看此项目的项目阶段信息
        //    IList<ProjectPlaneTask> planeTasks = projectTaskService.GetPlanesTaskFromProject(newProject);
        //    Assert.AreEqual(planeTasks, null);

        //    // 录入此项目的 概念阶段
        //    ProjectPlaneTask plane = new ProjectPlaneTask()
        //    {
        //        Id = Guid.NewGuid(),
        //        ProjectId = newProject.Id,
        //        CreateOn = DateTime.Parse("2010.4.1"),
        //        Name = "MIC-5概念阶段",
        //        Description = "这个测试的概念阶段",
        //        PlaneType = PlaneEnum.概念,
        //        ResponsiblePerson = Mock_EzApiClient.GetMockUser("贺旭华"),
        //        StartOn = DateTime.Parse("2010.4.1"),
        //        EndOn = DateTime.Parse("2010.4.15"),
        //    };
        //    projectTaskService.CreatePlaneTask(newProject, plane);
        //    // Assert 概念阶段


        //    // 录入项目任务
        //    ProjectTask task1 = new ProjectTask()
        //    {
        //        Id = Guid.NewGuid(),
        //        CreateOn = DateTime.Now,
        //        StartOn = DateTime.Parse("2010.4.1"),
        //        EndOn = DateTime.Parse("2010.4.6"),
        //        Name = "建筑平面",
        //        ResponsiblePerson = Mock_EzApiClient.GetMockUser("雷卓扬"),
        //        Description = "xxxxx",
        //    };
        //    projectTaskService.AddSubTask(plane, task1);
        //    // Assert 一个子任务
        //    // 录入项目任务
        //    ProjectTask task2 = new ProjectTask()
        //    {
        //        Id = Guid.NewGuid(),
        //        CreateOn = DateTime.Now,
        //        StartOn = DateTime.Parse("2010.4.4"),
        //        EndOn = DateTime.Parse("2010.4.10"),
        //        Name = "建筑造型",
        //        ResponsiblePerson = Mock_EzApiClient.GetMockUser("汪道平"),
        //        Description = "xxxxx",
        //    };
        //    projectTaskService.AddSubTask(plane, task2);
        //    // Assert 一个子任务
        //    // 录入项目任务
        //    ProjectTask task3 = new ProjectTask()
        //    {
        //        Id = Guid.NewGuid(),
        //        CreateOn = DateTime.Now,
        //        StartOn = DateTime.Parse("2010.4.8"),
        //        EndOn = DateTime.Parse("2010.4.12"),
        //        Name = "总平面CAD",
        //        ResponsiblePerson = Mock_EzApiClient.GetMockUser("李燕珍"),
        //        Description = "xxxxx",
        //    };
        //    projectTaskService.AddSubTask(plane, task3);
        //    // Assert 一个子任务
        //    // 录入项目任务
        //    ProjectTask task4 = new ProjectTask()
        //    {
        //        Id = Guid.NewGuid(),
        //        CreateOn = DateTime.Now,
        //        StartOn = DateTime.Parse("2010.4.10"),
        //        EndOn = DateTime.Parse("2010.4.15"),
        //        Name = "总平面图",
        //        ResponsiblePerson = Mock_EzApiClient.GetMockUser("贺旭华"),
        //        Description = "xxxxx",
        //    };
        //    projectTaskService.AddSubTask(plane, task4);
        //    // Assert 一个子任务

        //    // 录入项目任务
        //    ProjectTask task4_1 = new ProjectTask()
        //    {
        //        Id = Guid.NewGuid(),
        //        CreateOn = DateTime.Now,
        //        StartOn = DateTime.Parse("2010.4.10"),
        //        EndOn = DateTime.Parse("2010.4.13"),
        //        Name = "效果图制作",
        //        ResponsiblePerson = Mock_EzApiClient.GetMockUser("汪道平"),
        //        Description = "xxxxx",
        //    };
        //    projectTaskService.AddSubTask(task4, task4_1);

        //    // 录入项目任务
        //    ProjectTask task4_2 = new ProjectTask()
        //    {
        //        Id = Guid.NewGuid(),
        //        CreateOn = DateTime.Now,
        //        StartOn = DateTime.Parse("2010.4.11"),
        //        EndOn = DateTime.Parse("2010.4.15"),
        //        Name = "设计说明",
        //        ResponsiblePerson = Mock_EzApiClient.GetMockUser("汪道平"),
        //        Description = "xxxxx",
        //    };
        //    projectTaskService.AddSubTask(task4, task4_1);
        //    // Assert 一个子任务

        //    // 录入里程碑任务
        //    ProjectTask milestoneTask = new ProjectTask()
        //    {
        //        Id = Guid.NewGuid(),
        //        CreateOn = DateTime.Now,
        //        StartOn = DateTime.Parse("2010.4.8"),
        //        EndOn = DateTime.Parse("2010.4.8"),
        //        Name = "中期里程碑",
        //        ResponsiblePerson = Mock_EzApiClient.GetMockUser("贺旭华"),
        //        Description = "xxxxx",
        //    };
        //    projectTaskService.AddSubTask(plane, milestoneTask);


        //    // 4.1完成

        //    // 4.3 雷卓扬 登录 进入建筑平面项目任务 修改进度为 80%
        //    // 获得项目任务
        //    ProjectTask projectTask = projectTaskService.GetProjectTask(task1.Id);
        //    projectTaskService.MakeProgress(projectTask, Mock_EzApiClient.GetMockUserId("雷卓扬"), 80);
        //}
    }
}
